package com.sxbbc.common.core.dto.jz;

import java.math.BigDecimal;
import java.util.Date;

import com.sxbbc.common.core.enums.FreezeStatusEnums;
import com.sxbbc.common.core.enums.FreezeTypeEnums;
import com.sxbbc.common.core.enums.HandleTypeEnums;

/**
 * 
 * 冻结业务dto对象
 * @author Wahyee
 */
public class FreezeDTO {
	
    /** 用户ID */
    private Integer cid;
    /** 商家ID */
    private Integer bid;
    /** 代理ID */
    private Integer agid;
    /** 业务类型 {@link FreezeTypeEnums} */
    private Integer type;
    /** 操作类型 {@link HandleTypeEnums} */
    private Integer typeId;
    /** 状态 {@link FreezeStatusEnums}*/
    private Integer status;
    /** 流水号 交易单号 */
    private String payCode;
    /** 订单详情ID */
    private Integer orderDetailId;
    /** 来源对象 根据业务情况分析  */
    private Integer targetId;
    /** 冻结值 */
    private BigDecimal freeze;
    /** 解冻条件粒度 1用支付单号解冻 2用订单明细解冻 */
    private Integer granularity = 1;
	/** 描述 **/
	private String remark;
    /** 操作时间 */
    private Date updateTime;

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public Integer getGranularity() {
		return granularity;
	}

	public void setGranularity(Integer granularity) {
		this.granularity = granularity;
	}

	public Integer getAgid() {
		return agid;
	}

	public void setAgid(Integer agid) {
		this.agid = agid;
	}

	public FreezeDTO() {
		super();
	}
	
	public FreezeDTO(Integer status, Integer orderDetailId) {
		super();
		this.status = status;
		this.orderDetailId = orderDetailId;
	}
	

	public FreezeDTO(Integer status, Integer orderDetailId, Integer granularity) {
		super();
		this.status = status;
		this.orderDetailId = orderDetailId;
		this.granularity = granularity;
	}

	public FreezeDTO(Integer status, String payCode, Integer granularity) {
		super();
		this.status = status;
		this.payCode = payCode;
		this.granularity = granularity;
	}
	
	public FreezeDTO(Integer status, Integer orderDetailId, Integer granularity, Date updateTime) {
		super();
		this.status = status;
		this.orderDetailId = orderDetailId;
		this.granularity = granularity;
		this.updateTime = updateTime;
	}

	public FreezeDTO(Integer status, String payCode) {
		super();
		this.status = status;
		this.payCode = payCode;
	}
	
	

	public FreezeDTO(Integer type, Integer typeId, Integer status, String payCode, Integer orderDetailId,
			BigDecimal freeze) {
		super();
		this.type = type;
		this.typeId = typeId;
		this.status = status;
		this.payCode = payCode;
		this.orderDetailId = orderDetailId;
		this.freeze = freeze;
	}

	public FreezeDTO(Integer cid,Integer targetId,Integer type, Integer typeId, Integer status, String payCode, Integer orderDetailId,
					 BigDecimal freeze) {
		super();
		this.cid = cid;
		this.targetId = targetId;
		this.type = type;
		this.typeId = typeId;
		this.status = status;
		this.payCode = payCode;
		this.orderDetailId = orderDetailId;
		this.freeze = freeze;
	}

	public Integer getTypeId() {
		return typeId;
	}

	public void setTypeId(Integer typeId) {
		this.typeId = typeId;
	}

	public Integer getCid() {
		return cid;
	}
	public void setCid(Integer cid) {
		this.cid = cid;
	}
	public Integer getBid() {
		return bid;
	}
	public void setBid(Integer bid) {
		this.bid = bid;
	}
	public Integer getType() {
		return type;
	}
	public void setType(Integer type) {
		this.type = type;
	}
	public String getPayCode() {
		return payCode;
	}
	public void setPayCode(String payCode) {
		this.payCode = payCode;
	}
	public Integer getOrderDetailId() {
		return orderDetailId;
	}
	public void setOrderDetailId(Integer orderDetailId) {
		this.orderDetailId = orderDetailId;
	}
	public BigDecimal getFreeze() {
		return freeze;
	}
	public void setFreeze(BigDecimal freeze) {
		this.freeze = freeze;
	}
	public Integer getTargetId() {
		return targetId;
	}
	public void setTargetId(Integer targetId) {
		this.targetId = targetId;
	}
	
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
	
	

	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}

	@Override
	public String toString() {
		return "FreezeDTO [cid=" + cid + ", bid=" + bid + ", type=" + type + ", typeId=" + typeId + ", status=" + status
				+ ", payCode=" + payCode + ", orderDetailId=" + orderDetailId + ", targetId=" + targetId + ", freeze="
				+ freeze + "]";
	}

	

	
	
	
	
    
    
    
}
